a. Field of the Invention
The present invention pertains to communication protocols and specifically to communication protocols that involve arbitration, addressing, and data communication in a master/slave arrangement.
b. Description of the Background
Many simple busses exist for the communication between different devices. Such busses typically have several different devices connected to the bus with some devices acting as a master and some devices acting as slaves. In some systems, a device may sometimes act as a master and sometimes as a slave.
In a typical protocol, an idle state exists in which a master device may assert control of the bus and supply an address of a device with which the master wishes to communicate. The period of time wherein a master asserts and attains control of the bus is an arbitration period that typically has a procedure for arbitrating when to assert control and for arbitrating which master has control when two or more master devices are asserting substantially simultaneously. The addressing period involves initiating communication with a slave device. Once communication is established, data communication will proceed and the bus will enter the idle state.
An example of a useful bus of the type described above is the Inter-Integrated Circuit (“I2C”) bus designed by Philips. In a typical I2C deployment, several integrated circuit chips on a printed circuit board may connect to the I2C bus and establish communications between integrated circuits within the printed circuit board. Other such busses may be used for networks linking various devices in a factory automation control system, networks linking several measurement devices, and the like.
The advantages of such busses are that they have simple logic and are relatively easy to implement using state machines or other simple technology. However, several limitations exist. First, as the number of devices attached to the bus increases and the amount of communications increase, the bus may become congested with traffic. Further, when a first device is communicating with a second device, a third device is prevented from communicating with a fourth device because the bus is busy. Thirdly, it is possible that one device may become inoperative and may cause the entire bus to malfunction, preventing any communications traffic to flow.
It would therefore be advantageous to provide a system and method whereby a simple communication bus may handle increased traffic while keeping the same arbitration, addressing, and communications protocol. It would be further advantageous to provide a system and method whereby multiple simultaneous communications paths may be made available on the communications bus.